Relational Database Anti-Patterns
ثبت نشده
چکیده
In this article, I will review few of database design anti-patterns and some solutions that avoid those problems. Nowadays, rare application does not have database on the backend, and while relational databases exist for a long time, it is still the most used type of database. Relational databases have often replaced other types of databases because they are easier to understand and use. On the other side, because of this easiness in the overall concept many anti-patterns are overlooked and used in many systems. Introduction If you know the patterns, it is very good, if you know the anti-patterns it is even better. Anti-patterns exist everywhere, in every aspect of our lives and it is crucial to know them and use techniques and solutions to avoid them. Relational Databases exist for very long time, but still, many people use not optimized techniques to design and develop databases. It is very common for people to stick with the way they used to do it and not to question themselves: “is it the really best way to do it?” Optimization of developing techniques helps to avoid lifetime long optimization of the code. There are many well known database anti-pattern related to database design, development and use in the application. This article will concentrate on few database design anti-patterns. Anti-patterns 1. Assigning value to nothing (NULL) Null should not have any value in database logic; this approach is bad for anything, so it should not be used in database either. 2. Attribute with multi-value (list of values) This anti-pattern is one of the main consequences of non-normalized database design. 3. Table is not a list (super-wide tables) Long table is good, wide table is bad. Anti-pattern 1: Name Assigning value to nothing (NULL) Problem / Bad solution Often databases designed with intend to use NULL for something with special meaning. While in reality, NULL means nothing then nothing cannot be something. Typical twotable database relationship is shown in Example 1.
منابع مشابه
An efficient approach for effectual mining of relational patterns from multi-relational database
Data mining is an extremely challenging and hopeful research topic due to its well-built application potential and the broad accessibility of the massive quantities of data in databases. Still, the rising significance of data mining in practical real world necessitates ever more complicated solutions while data includes of a huge amount of records which may be stored in various tables of a rela...
متن کاملRelational Database to RDF Mapping Patterns
In order to integrate relational databases into Semantic Web applications, relational databases need to be mapped to RDF. The W3C RDB2RDF Working Group is in the process of ratifying two standards to map relational databases to RDF: Direct Mapping and R2RML mapping language. Through our experience as implementors of two RDB2RDF systems: Ultrawrap and Morph, and as authors of R2RML mappings, we ...
متن کاملMetadata Enrichment for Automatic Data Entry Based on Relational Data Models
The idea of automatic generation of data entry forms based on data relational models is a common and known idea that has been discussed day by day more than before according to the popularity of agile methods in software development accompanying development of programming tools. One of the requirements of the automation methods, whether in commercial products or the relevant research projects, ...
متن کاملCs 6604: Data Mining 2 Relational Apriori 2.1 Queries
1 Overview In the previous several lectures, we mainly discussed algorithms for ILP, i.e., supervised learning of rela-tional predicates. In this class, we focus on unsupervised algorithms for learning relational patterns. In particular, we look at algorithms that are the relational equivalent of traditional enumerative search algorithms. Take, for instance, the most famous algorithm in the ass...
متن کاملApply Uncertainty in Document-Oriented Database (MongoDB) Using F-XML
As moving to big data world where data is increasing in unstructured way with high velocity, there is a need of data-store to store this bundle amount of data. Traditionally, relational databases are used which are now not compatible to handle this large amount of data, so it is needed to move on to non-relational data-stores. In the current study, we have proposed an extension of the Mongo...
متن کامل